/**
 * 番茄免费小说玩法: 第一天进行购物3单 + 挂机 + (下载), 第二天进行购物3单 + 挂机 + (下载), 第三天进行购物3单 + 挂机 + (宝箱首游戏+氪金)
 * 金币低于2000 2次休息3小时
 * 后期不再氪游戏只做拉新
 * 每天补三单
 */
var APP_NAME_FQMFXS = '番茄免费小说'
var PACK_NAME_FQMFXS = 'com.dragon.read'
var MAIN_PAGE_FLAG_FQMFXS = '书城'
var ENTER_CENTER_PAGE_FLAG_FQMFXS = '福利'
var CENTER_PAGE_FLAG_FQMFXS = '现金收益'

Import("ggUtils_番茄小说.js")

function skip_主界面的弹窗_FQMFXS() {

    //7天签到领金币
    if (getExcuteFuncTimes('start_app_FQMFXS') <= 1) {
        var detects = opencv.findImagesEx('图色731387.cv');
        if (detects != null) {
            agentOrHidClick(detects[0])
            agentOrHidClick(ocrText('领取今日现金', '立即领取'))

            var flag = ocrWaitForText('明日再来')
            if (flag) {
                agentOrHidClick(flag)
            } else {
                agentOrHidback()
                sleep.millisecond(500)
            }
        }
    }

    //关闭弹窗
    var detects = opencv.findImagesEx('图色100015.cv');
    if (detects != null) {
        agentOrHidClick(detects[0])
    }
}

function skip_任务中心的弹窗_FQMFXS() {
    if (getExcuteFuncTimes('start_app_FQMFXS') <= 2) {
        var detects = opencv.findImagesEx('图色731387.cv');
        if (detects != null) {
            agentOrHidClick(detects[0])
        }
    }

    //关闭弹窗
    var detects = opencv.findImagesEx('图色100015.cv');
    if (detects != null) {
        agentOrHidClick(detects[0])
    }

    agentOrHidClick(ocrText('我知道', '取消', '开心收下', '收下奖励'))
}


function back2center_FQMFXS() {
    if (!backUntilFindView(() => ocrText(CENTER_PAGE_FLAG_FQMFXS, '日常福利', '福利中心', '阅读赚金币', '开宝箱', '现金收益', '新人福利'), 2, 3)) {
        enter_任务中心_FQMFXS(true)
    }
}

// 启动任务
function start_app_FQMFXS() {
    // app.closeApp(PACK_NAME_FQMFXS)
    // sleep.millisecond(200)
    printinfoOld('start_app_FQMFXS')

    if (!startApp(PACK_NAME_FQMFXS)) {
        return false
    }
    addExcuteFuncTimes('start_app_FQMFXS')

    // 跳过首页广告
    expectView(() => {
        return ocrText(MAIN_PAGE_FLAG_FQMFXS, '书架')
    }, (times) => {
        skip_主界面的弹窗_FQMFXS()

        if (times > 4) {
            agentOrHidback()
            sleep.millisecond(500)
            // todo
        }
        sleep.millisecond(500)
    }, (findView) => {
        // agentOrHidClick(findView)
    }, null, 5)

    return true
}

// 进入任务中心
function enter_任务中心_FQMFXS(iskip) {
    printinfoOld('enter_任务中心_FQMFXS')

    if (iskip == undefined) iskip = false

    // 进入任务中心
    expectView(() => {
        //  printinfoOld('0')
        //  ocrText('福利', true)
        var ocr1 = opencv.OCREx('图色194131.cv');
        if (ocr1 != null) {
            return ocr1.getAllDetect()[0]
        }

        return ocrTextInRegion(0, 0.9, 1, 1, ENTER_CENTER_PAGE_FLAG_FQMFXS)
    }, (times) => {
        skip_主界面的弹窗_FQMFXS()

        sleep.millisecond(500)
        SystemPrint.warn('未找到主界面期望标志位')
    }, (findView, stepTimes) => {
        agentOrHidClick(findView)
    }, () => {
        // 失败后的方案 或者其它方案进入
        clickOffectY(0.5, 1, 60)
    }, 5)


    if (!iskip) {
        // 期望标志位
        expectView(() => {
            return ocrText(CENTER_PAGE_FLAG_FQMFXS, '福利中心', '活动规则', '阅读赚金币', '开宝箱')
        }, (times) => {
            skip_任务中心的弹窗_FQMFXS()

            if (times > 3) {
                back2center_FQMFXS()
            }
            sleep.millisecond(500)
            SystemPrint.warn('未找到任务界面期望标志位')
        }, (findView) => {
            // agentOrHidClick(findView)
        }, null, 3)
    }
}



function open_签到_FQMFXS() {
    printinfoOld('open_签到_FQMFXS-------------------------------')

    if (hasExcuteFunc('open_签到_FQMFXS')) {
        return
    }

    // 弹窗的第一次签到和后续的签到
    // 弹窗签到
    // todo
    if (getExcuteFuncTimes('open_签到_FQMFXS') <= 1) {
        printinfoOld('弹窗签到')
        agentOrHidClick(ocrWaitForMoreTextMillisecond('立即签到', '重新签到', 10), 3, () => {
            setExcuteFunc('弹窗签到_FQMFXS')

            if (isEnableSwitch('fqxs_error_mode')) {
                skip_任务中心的弹窗_FQMFXS()
                log('番茄异常模式')
                return
            }

            var flag = ocrWaitForMoreTextMillisecondInRegion(0, 0.5, 1, 0.95, 5,
                '视频最高再', '广告最高再', '看视频', '看广告')

            if (getDectNumber(flag) >= 2000) {
                watchGG_番茄小说独享(flag)
            } else {
                setExcuteFunc('open_签到_FQMFXS')
            }


            //找图返回目标数组
            var detects = opencv.findImagesEx('图色468878.cv');
            if (detects != null) {
                agentOrHidClick(detects[0])
            }

        })
        // addExcuteFuncTimes('open_签到_FQMFXS')
    }

    skip_任务中心的弹窗_FQMFXS()


    // 后续的签到
    moveUp2FindWidTxtMore((findView) => {
        agentOrHidClick(findView, 2, () => {
            addExcuteFuncTimes('open_签到_FQMFXS')
            if (getExcuteFuncTimes('open_签到_FQMFXS') > 5) {
                agentOrHidClick(ocrTextInRegion(0, 0.5, 1, 0.75, '明日再来'), 1, () => {
                    setExcuteFunc('open_签到_FQMFXS')
                    return
                })
            }

            //找图返回目标数组
            var detects = opencv.findImagesEx('图色503251.cv');
            if (detects != null) {
                // printinfoOld(detects);
                agentOrHidClick(detects[0])
                setExcuteFunc('open_签到_FQMFXS')
                return
            }

            if (!hasExcuteFunc('弹窗签到_FQMFXS')) {
                agentOrHidClick(ocrText('立即签到'), 1, () => {
                    setExcuteFunc('弹窗签到_FQMFXS')
                })
            }

            // ocrText('看视频最高', true)
            var flag = ocrTextMoreInRegion(0, 0.5, 1, 0.95, '看视频最高', '广告最高', '看广告再', '看视频再', '视最高再领')
            if (getDectNumber(flag) < 2000) {
                SystemPrint.warn('金币数量低')
                setExcuteFunc('open_签到_FQMFXS')
            } else {
                watchGG_番茄小说独享(flag)
            }


            //关闭弹窗
            var detects = opencv.findImagesEx('图色748079.cv');
            if (detects != null) {
                agentOrHidClick(detects[0])
            }
        })

    }, '明日签到', '连续签到', '日必得')
}

function open_开宝箱_FQMFXS() {
    log('开宝箱')
    if (!isEnableSwitch('fq_kbx')) {
        log('屏蔽开宝箱')
        return
    }
    if (isEnableSwitch('fqxs_error_mode')) {
        log('番茄异常模式')
        return
    }
    if (hasExcuteFuncInTime是否在一段时间内执行过('open_开宝箱_FQMFXS')) {
        log('一段时间内执行过还需' + getExcuteFuncInTime一段时间内执行过还需多少时间('open_开宝箱_FQMFXS'))
        return
    }

    if (hasExcuteFunc('open_开宝箱_FQMFXS')) {
        log('已经执行过开宝箱')
        return
    }

    if (!isEnableSwitch('fqmfxs_force')) {
        if (hasExcuteFunc('need_养号_FQMFXS')) {
            return
        }

        if (getExcuteFuncTimes('open_开宝箱_FQMFXS') > 30) {
            return
        }
    }

    skip_任务中心的弹窗_FQMFXS()

    //找图返回目标数组
    log('查找宝箱标识')
    expectView(() => {
        var detectsflag = opencv.findImagesEx('图色175994.cv');
        if (detectsflag != null) {
            detectsflag = detectsflag[0]
        } else {
            detectsflag = ocrText('开宝箱得', '点击领')
        }
        return detectsflag
    }, () => {
        sleep.second(1)
    }, (findView) => {
        agentClickRight(findView, 0, () => {
            if (ocrWaitForMoreTextMillisecond('你已完成', '完成此任务', 6, 500)) {
                log('网络异常宝箱未成功打开')
                setExcuteFuncInTime一段时间内不再执行('open_开宝箱_FQMFXS', 3 * 60)
                setExcuteFuncInTime一段时间内不再执行('start_收集金币_FQMFXS', 5 * 60)
                return
            }
            agentOrHidClick(ocrTextMoreComplete('开启宝箱'))
            var flagjinb = ocrTextMoreInRegion(0, 0.4, 1, 0.95, '视频最高再', '广告最高再', '看视频再', '看广告再')
            var jinnum = getDectNumber(flagjinb)
            log('开宝箱看视频金币' + jinnum)
            if (jinnum >= 2000 || jinnum == 0 || (jinnum > 500 && getExcuteFuncTimes('open_开宝箱_FQXS_再次看_low') < 1)) {

                watchGG_番茄小说独享(flagjinb)

                skip_任务中心的弹窗_FQMFXS()

                if (jinnum >= 2000) {
                    addExcuteFuncTimes('open_开宝箱_FQXS_low', 0)
                }

            } else {
                log('金币太低')
                skip_主界面的弹窗_FQMFXS()
                addExcuteFuncTimes('open_开宝箱_FQXS_low')
            }

            if (getExcuteFuncTimes('open_开宝箱_FQXS_low') > 2) {
                //  setExcuteFuncInTime一段时间内不再执行('open_开宝箱_FQMFXS', 0)
                setExcuteFuncInTime一段时间内不再执行('open_开宝箱_FQMFXS', 60 * 60)
            }

            if (getExcuteFuncTimes('open_开宝箱_FQXS_low') > 4) {
                //  setExcuteFuncInTime一段时间内不再执行('open_开宝箱_FQMFXS', 0)
                setExcuteFuncInTime一段时间内不再执行('open_开宝箱_FQMFXS', 2 * 60 * 60)
            }

            addExcuteFuncTimes('open_开宝箱_FQMFXS')
        })
    }, null, 10)



}


function open_阅读赚金币_FQMFXS() {
    printinfoOld('open_阅读赚金币_FQMFXS')
    skip_任务中心的弹窗_FQMFXS()

    if (hasExcuteFunc('open_阅读赚金币_FQMFXS')) {
        return
    }

    if (getExcuteFuncTimes('open_阅读赚金币_FQMFXS') > 20) {
        setExcuteFunc('open_阅读赚金币_FQMFXS')
        return
    }

    move2Top(7, 300, '金币每天凌晨自动', '现金收益')
    moveUp2FindWidTxtMore((findView) => {
        if (isInNearBy(findView, '立即领取')) {
            agentOrHidClick(findView)
            watchGG_多次看广告(ocrTextMoreInRegion(0, 0.5, 1, 0.95, '视频最高再领', '视频最高', '看广告最高', '看广告再', '看视频'))
            addExcuteFuncTimes('open_阅读赚金币_FQMFXS')
        }
    }, '阅读赚金币')
}


function open_预约_FQMFXS() {
    printinfoOld('open_预约_FQMFXS')
    skip_任务中心的弹窗_FQMFXS()

    if (hasExcuteFunc('open_预约_FQMFXS')) {
        return
    }

    if (getExcuteFuncTimes('open_预约_FQMFXS') > 3) {
        setExcuteFunc('open_预约_FQMFXS')
        return
    }

    move2Top(3, 300, '金币每天凌晨自动', '现金收益')
    moveUp2FindWidTxtMore((findView) => {
        // ocrTextTrue('日预约')
        // isInNearBy(ocrText('预约领金币'), '日预约')
        if (isInNearBy(findView, '去预约', '日预约') || isInNearBy(findView, '去领取')) {
            agentOrHidClick(findView)

            agentOrHidClick(ocrWaitForText('立即预约领取', '立即领取', '一键领取', '约领取', '继续预约'))
            addExcuteFuncTimes('open_预约_CDMFXS')

            if (!isEnableSwitch('fqxs_error_mode')) {
                watchGG_单次模式(ocrWaitForText('看视频再', '看广告再', '看视频领', '看广告领'))
            }

            skip_任务中心的弹窗_FQMFXS()

            agentOrHidClick(ocrWaitForText('立即预约领取', '立即领取', '一键领取', '约领取', '继续预约'), 1, () => {
                skip_任务中心的弹窗_FQMFXS()
            })

            agentOrHidClick(ocrText('禁止'))
            back2center_FQMFXS()

            if (ocrText('领奖进度', '天天预约')) {
                agentOrHidback()
            }
        } else {
            if (isInNearBy(findView, '已预约')) {
                log('已完成预约')
                setExcuteFunc('open_预约_FQMFXS')
            }
        }
    }, '预约领金币', '今日预约')
}

function open_听书赚金币_FQMFXS() {
    printinfoOld('open_听书赚金币_FQMFXS')
    skip_任务中心的弹窗_FQMFXS()

    if (hasExcuteFunc('open_听书赚金币_FQMFXS')) {
        return
    }

    if (getExcuteFuncTimes('open_听书赚金币_FQMFXS') > 20) {
        setExcuteFunc('open_听书赚金币_FQMFXS')
        return
    }

    move2Top(7, 300, '金币每天凌晨自动', '现金收益')
    moveUp2FindWidTxtMore((findView) => {
        if (isInNearBy(findView, '立即领取')) {
            agentOrHidClick(findView)
            watchGG_多次看广告(ocrTextMoreInRegion(0, 0.5, 1, 0.95, '视频最高再领', '视频最高', '看广告最高', '看广告再', '看视频'))
            addExcuteFuncTimes('open_听书赚金币_FQMFXS')
        }
    }, '听书赚金币')
}


function watch_看广告_FQMFXS() {
    printinfoOld('watch_看广告_FQMFXS')
    if (!isEnableSwitch('fqmfxs_ksp') && !isEnableSwitch('fqmfxs_force')) {
        return
    }
    if (isEnableSwitch('fqxs_error_mode')) {
        log('番茄异常模式')
        return
    }


    if (hasExcuteFunc('watch_看广告_FQMFXS')) {
        return
    }

    skip_任务中心的弹窗_FQMFXS()

    if (getExcuteFuncTimes('watch_看广告_FQMFXS') > 5) {
        setExcuteFunc('watch_看广告_FQMFXS')
        return
    }
    move2Top(7, 300, '金币每天凌晨自动', '现金收益')
    moveUp2FindWidTxtMore((findView) => {
        var jinb = getDectNumber(findView)
        if (jinb >= 2000) {
            watchGG_番茄小说独享(findView)
        } else {
            var jbS = ocrText('看视频立得', '看视频立即', '看视频赚')
            if (jbS && getDectNumber(jbS) >= 2000) {
                watchGG_番茄小说独享(findView)
            }
        }

        // setExcuteFunc('watch_看广告_FQMFXS')
        // addExcuteFuncTimes('watch_看广告_FQMFXS')
    }, '看视频立', '看视频赚金币')
}

function go_刷视频_FQMFXS() {
    if (hasExcuteFunc('go_刷视频_FQMFXS')) {
        log('刷视频任务已完成')
        // setExcuteFunc('go_刷视频_FQMFXS', false)
        return
    }
    if (isEnableSwitch('fqxs_error_mode')) {
        log('番茄异常模式')
        return
    }

    skip_任务中心的弹窗_FQMFXS()

    if (getExcuteFuncTimes('go_刷视频_FQMFXS') > 20) {
        log('刷视频任务执行次数上限')
        setExcuteFunc('go_刷视频_FQMFXS')
        //   addExcuteFuncTimes('go_刷视频_FQMFXS', 0)
        return
    }
    log('刷视频任务')
    move2Top(3, 300, '金币每天凌晨自动', '现金收益')
    moveUp2FindWidTxtMore((findView) => {
        for (let i = 0; i < 1; i++) {

            agentOrHidClick(findView, 0)

            if (ocrWaitForMoreTextMillisecond('今天任务完成', '去看看其他', '任务完成了')) {
                setExcuteFunc('go_刷视频_FQMFXS')
                break
            }

            var maxTimes = 5
            while (!ocrText('任务已完成', '金币已到账', '开心收下') && maxTimes > 0) {
                log('等待上滑浏览')
                if (!ocrWaitForText('上滑浏览', '浏览赚金', '任务已完成', '金币已到账', 17, 2)) {
                    if (ocrText('任务已完成', '金币已到账')) {
                        maxTimes = 0
                        return
                    }
                }
                logSleep('回到主视频页面')
                backUntilFindView(() => ocrText('看本视', '本视频', '金币已到账', '上滑浏览', '浏览赚金', '待领取'))
                log('等待视频完播点击领取')
                agentOrHidClick(ocrWaitForText('点击领取', '退出', 12, 1))
                agentSwipBig()
                sleep.second(3)

                maxTimes = maxTimes - 1
            }

            agentOrHidback()
            sleep.second(3)


            skip_任务中心的弹窗_FQMFXS()


        }
    }, '刷视频领', '双重奖励')

    skip_任务中心的弹窗_FQMFXS()

    addExcuteFuncTimes('go_刷视频_FQMFXS')
}


function go_浏览商品_FQMFXS() {
    if (hasExcuteFunc('go_浏览商品_FQMFXS')) {
        log('浏览商品任务已完成')
        return
    }

    skip_任务中心的弹窗_FQMFXS()

    if (getExcuteFuncTimes('go_浏览商品_FQMFXS') > 15) {
        setExcuteFunc('go_浏览商品_FQMFXS')
        return
    }
    log('浏览商品任务')
    move2Top(3, 300, '金币每天凌晨自动', '现金收益')
    moveUp2FindWidTxtMore((findView) => {
        agentOrHidClick(findView, 5)
        for (let i = 0; i < 6; i++) {
            agentSwipSmallDown()
            sleep.second(10)
        }
        agentOrHidback()
        sleep.second(3)

        agentOrHidClick(ocrText('继续浏览'), 3, () => {
            agentSwipSmallDown()
            sleep.second(10)
            agentSwipSmallDown()
            sleep.second(10)
            agentOrHidback()
            sleep.second(3)
            agentOrHidback()
            sleep.second(3)
        })

    }, '浏览商品', '商品赚钱')

    addExcuteFuncTimes('go_刷视频_FQMFXS')
}


function start_去看剧_FQMFXS() {
    printinfoOld('start_去看剧_FQMFXS')

    move2Top(7, 300, '金币每天凌晨自动', '现金收益')
    moveUp2FindWidTxtMore((findView) => {
        if (isInNearBy(findView, '去看剧')) {
            if (getExcuteFuncTimes('start_去看剧_FQMFXS') <= 5) {
                // addExcuteFuncTimes('start_去看剧_FQMFXS')
                // agentOrHidClick(findView)
                // whilestep((stepTimes) => {
                //     if (stepTimes % 2 == 0) {
                //         //找图返回目标数组
                //         var detects = opencv.findImagesEx('图色725264.cv');
                //         if (detects != null) {
                //             // printinfoOld(detects[0].getRect());
                //             var findRect = detects[0].getRect()
                //             if (findRect.getCenterX() > 0.9) {
                //                 agentSwipBig()
                //                 sleep.second(1)
                //             }
                //         }

                //         if (ocrText('上滑继续', '广告', '反馈')) {
                //             sleep.second(15)
                //             agentSwipBig()
                //             sleep.second(1)
                //         }
                //     }
                // }, ENV() == 'test' ? 5 * 60 : 21 * 60)
            }

        } else {
            // 可以进行领取金币
            agentOrHidClick(findView)
            watchGG_多次看广告(ocrWaitForMoreTextMillisecondInRegion(0, 0.5, 1, 0.95, 5,
                '视频最高再', '广告最高再', '看视频再领', '看视频', '看广告'))
        }

    }, '看短剧赚金币')
}

function start_新人去看剧_FQMFXS() {
    printinfoOld('start_新人去看剧_FQMFXS')
    if (hasExcuteFunc('start_新人去看剧_FQMFXS')) {
        return
    }
    if (isEnableSwitch('fqxs_error_mode')) {
        log('番茄异常模式')
        return
    }
    skip_任务中心的弹窗_FQMFXS()

    move2Top(7, 300, '金币每天凌晨自动', '现金收益')
    moveUp2FindWidTxtMore((findView) => {
        if (isInNearBy(findView, '去完成')) {
            if (getExcuteFuncTimes('start_新人去看剧_FQMFXS') <= 2) {
                addExcuteFuncTimes('start_新人去看剧_FQMFXS')
                agentOrHidClick(findView)

                var flag = ocrText('热剧榜', '新剧', '逆袭', '重生')
                if (flag) {
                    agentOrHidClickAbsoultXOffectY(flag, screen.percentToWidth(0.5), -250)
                    whilestep((stepTimes) => {
                        if (stepTimes % 6 == 0) {
                            //找图返回目标数组
                            var detects = opencv.findImagesEx('图色725264.cv');
                            if (detects != null) {
                                // printinfoOld(detects[0].getRect());
                                var findRect = detects[0].getRect()
                                if (findRect.getCenterX() > 0.9) {
                                    agentSwipBig()
                                    sleep.second(1)
                                }
                            }

                            //找图返回目标数组
                            var detectsxr = opencv.findImagesEx('图色354128.cv');
                            if (detectsxr != null) {
                                agentOrHidClick(detectsxr[0])
                            }

                            if (ocrText('上滑继续', '广告', '反馈')) {
                                sleep.second(15)
                                agentSwipBig()
                                sleep.second(1)
                            }
                        }
                    }, ENV() == 'test' ? 5 * 60 : 22 * 60)
                }
            }

        } else {
            // 可以进行领取金币
            agentOrHidClick(findView)

            var spFlag = ocrWaitForMoreTextMillisecondInRegion(0, 0.4, 1, 0.95, 5,
                '视频最高再', '广告最高再', '看视频再领', '看视频', '看广告')
            if (spFlag) {
                setExcuteFunc('start_新人去看剧_FQMFXS')
                watchGG_多次看广告(spFlag)
            }

        }

    }, '连续看短剧', '看短剧奖励', '看短剧福利')
}

// 进行浏览任务
function start_浏览任务_FQMFXS() {
    start_app_FQMFXS()

    skip_主界面的弹窗_FQMFXS()
}


function start_看短剧_FQMFXS() {
    printinfoOld('start_看短剧_FQMFXS')

    // if (hasExcuteFunc('start_看短剧_FQMFXS')) {
    //     return
    // }

    agentOrHidClick(backUntilFindView(() => {
        var flag = ocrText('万播放', '短剧')
        if (!flag) skip_主界面的弹窗_FQMFXS()
        return flag
    }, 3))

    //确保短剧
    var detects = opencv.findImagesEx('图色735883.cv');
    if (detects != null) {
        agentOrHidClick(detects[0])
    }

    agentOrHidClick(ocrText('万播放'))

    if (ocrText('上滑查看更多')) {
        agentSwipDown()
    }
    // 开始观看视频180分钟(延长10分钟)

    // whilestep((stepTimes) => {
    //     if (stepTimes % 2 == 0) {
    //         //找图返回目标数组
    //         var detects = opencv.findImagesEx('图色725264.cv');
    //         if (detects != null) {
    //             // printinfoOld(detects[0].getRect());
    //             var findRect = detects[0].getRect()
    //             if (findRect.getCenterX() > 0.9) {
    //                 agentSwipBig()
    //                 sleep.second(1)
    //             }
    //         }

    //         if (ocrText('上滑继续', '广告', '反馈')) {
    //             if (ocrText('秒后')) {
    //                 sleep.second(5)
    //             }
    //             agentSwipBig()
    //             sleep.second(1)
    //         }
    //     }

    //     if (stepTimes % 2 == 0) {
    //         agentOrHidClick(ocrText('下次再说'))
    //     }
    // }, ENV() == 'test' ? 5 * 60 : 120 * 60)

    // setExcuteFunc('start_看短剧_FQMFXS')
    // stopAllApp()
}

function start_阅读_FQMFXS(isskipgg) {
    printinfoOld('start_阅读_FQMFXS()')
    if (isskipgg == undefined) isskipgg = false
    // if (hasExcuteFunc('start_阅读_FQMFXS')) {
    //     return
    // }


    if (!start_app_FQMFXS()) {
        return
    }

    // agentOrHidClick(backUntilFindView(() => {
    //     var flag = ocrTextMoreInRegion(0, 0.85, 1, 1, '书城')
    //     if (!flag) skip_主界面的弹窗_FQMFXS()
    //     return flag
    // }, 3))
    clickAbs(100, screen.percentToHeight(1) - 20)
    skip_主界面的弹窗_FQMFXS()

    // start_app_FQMFXS()
    // skip_主界面的弹窗_FQMFXS()
    // sleep.second(1)

    // expectView(() => {
    //     //找图返回目标数组
    //     var detects = opencv.findImagesEx('图色250861.cv');
    //     if (detects != null) {
    //         return detects[0]
    //     }
    //     return null
    // }, (times) => {
    //     skip_主界面的弹窗_FQMFXS()

    //     if (times >= 4) {
    //         agentOrHidback()
    //         sleep.millisecond(500)
    //         agentOrHidClick(ocrTextMoreInRegion(0, 0.85, 1, 1, '书架', '收藏'))
    //     }
    //     sleep.millisecond(500)
    // }, (findView) => {
    //     agentOrHidClick(findView)
    // }, null, 5)

    // agentOrHidClick(ocrText('未读', '完结', '连载', '更新', '已下架'))

    agentOrHidClickAbsoultXOffectY(ocrText('推荐榜', '完本榜'), screen.percentToWidth(0.15), -150)

    if (!ocrWaitForMoreTextMillisecond('下一章', '上一章', '设置')) {
        click(0.5, 0.6)
    }

    //找图返回目标数组
    var detects已经有开始的 = opencv.findImagesEx('图色217656.cv');
    if (detects已经有开始的 != null) {
        agentOrHidClick(detects已经有开始的[0], 1)

        agentOrHidClickOffectX(detects已经有开始的[0], 160)
        if (isskipgg) {
            return
        }
    } else {
        //找图返回目标数组
        var detects = opencv.findImagesEx('图色139507.cv');
        if (detects != null) {
            agentOrHidClick(detects[0])
            sleep.millisecond(2000)
        }
    }



    if (!isskipgg) {
        for (var i = 0; i < 2; i++) {
            if (getDectNumber(ocrText('听书可用时长')) <= 2) {
                watchGG_简单模式(ocrWaitForMoreTextMillisecond('立即观看'))
                watchGG_简单模式(ocrText('看视频得'))
                watchGG_简单模式(ocrText('继续看视频得'))
            }
            sleep.second(2)
        }

        // agentOrHidback()
        // return
    }


    if (!hasForverExcuteFunc('ys_fqmfxs')) {
        sleep.second(3)
        // agentOrHidClickOffectY(ocrText('设置'), 50)
        // 进入播放页面去改变播放速度
        var detects = opencv.findImagesEx('图色433007.cv');
        if (detects != null) {
            agentOrHidClickOffectX(detects[0], 150)
        }

        var flagys = ocrWaitForMoreTextMillisecond('语速')
        if (flagys == null) {
            setForverExcuteFunc('ys_fqmfxs')
        }
        agentOrHidClick(flagys, 2, () => {
            agentOrHidClickOffectY(ocrWaitForText('3.0', '3.'), 100, 2, () => {
                setForverExcuteFunc('ys_fqmfxs')
            })


            //找图返回目标数组
            var detectsdown = opencv.findImagesEx('图色195552.cv');
            if (detectsdown != null) {
                agentOrHidClick(detectsdown[0])

                if (ocrText('重置')) {
                    agentOrHidback()
                }
            }
        })

    }

    agentOrHidClick(ocrWaitForMoreTextMillisecond('阅读电子', '读电子书'))

    //找图返回目标数组
    var detectsdown2 = opencv.findImagesEx('图色891391.cv');
    if (detectsdown2 != null) {
        agentOrHidClick(detectsdown2[0])
    }

    // if (ocrText('定时', '语速')) {
    //     sleep.millisecond(500)
    //     move2Top()
    // }

    // 确保执行
    // click(0.5, 0.5)
    //找图返回目标数组
    var detects = opencv.findImagesEx('图色415845.cv');
    if (detects != null) {
        agentOrHidClick(detects[0])
    }

    sleep.second(3900)

    stopAllApp()
    // whilestep((times) => {
    //     if (times % 60 == 0) {
    //         agentOrHidClick(ocrText('不再提示'))
    //     }
    // }, ENV() == 'test' ? 5 * 60 : 185 * 60)

    // setExcuteFunc('start_阅读_FQMFXS')
    // stopAllApp()
}

function openNearBy_番茄小说_App() {
    //找图返回目标数组
    var detects = opencv.findImagesEx('图色463535.cv');
    if (detects != null) {

        // 点击右侧
        agentOrHidClickOffectX(detects[0], screen.percentToWidth(0.125))
        if (!ocrText('应用市场', '抖音火山', '快手')) {
            if (ocrText('文件夹')) {
                click(0.26, 0.3)
                if (!ocrText('应用市场', '抖音火山', '快手')) {
                    sleep.second(5 * 60)
                    agentOrHidHome()
                    sleep.second(3)
                    agentOrHidClickOffectX(detects[0], screen.percentToWidth(0.125))
                }

                click(0.5, 0.3)
                if (!ocrText('应用市场', '抖音火山', '快手', '添加到文件', '应用推荐')) {
                    sleep.second(5 * 60)
                    agentOrHidHome()
                    sleep.second(3)
                    agentOrHidClickOffectX(detects[0], screen.percentToWidth(0.125))
                }

                click(0.73, 0.3)
                if (!ocrText('应用市场', '抖音火山', '快手', '添加到文件', '应用推荐')) {
                    sleep.second(5 * 60)
                }

                agentOrHidClick(ocrText('取消'))
            } else {
                sleep.second(5 * 60)
            }

        } else {

        }
    }

    stopAllApp()
}

// open_翻卡赢金币_FQMFXS()
function open_翻卡赢金币_FQMFXS() {
    printinfoOld('open_翻卡赢金币_FQMFXS')
    if (!isEnableSwitch('fqmfxs_fkkp')) {
        return
    }

    if (hasExcuteFuncInTime是否在一段时间内执行过('open_翻卡赢金币_FQMFXS')) {
        return
    }

    if (hasExcuteFunc('open_翻卡赢金币_FQMFXS')) {
        if (hasExcuteFunc('watch_看广告_FQMFXS') || getExcuteFuncTimes('watch_看广告_CTXS') > 40) {
            if (getExcuteFuncTimes('open_开宝箱_FQMFXS_金币太低') > 2) {
                setExcuteFuncInTime一段时间内不再执行('start_收集金币_FQMFXS', 2 * 60 * 60)
            }

        }
        return
    }


    skip_任务中心的弹窗_FQMFXS()

    move2Top(3, 300, '自动兑换', '现金收益')
    moveUpHigher2FindWidTxtMore((findView) => {
        // setExcuteFuncInTime一段时间内不再执行('open_翻卡赢金币_FQMFXS', 6 * 60)
        if (!ocrText('继续开启', '下一轮', '明日再来翻卡')) {
            // watchGG_多次看广告(findView)
            // if(ocrText('看视频翻卡'))
            agentOrHidClick(findView, 5)
            addExcuteFuncTimes('open_翻卡赢金币_FQMFXS')

            // ocrTextTrue('看视频继续翻十位')
            var flag = ocrWaitForText('看1个视频翻', '看视频继续翻十位', '个视频翻', '继续翻百位', '继续翻千位')

            watchGG_简单模式(flag)
            skip_任务中心的弹窗_FQMFXS()
            var flagbw = ocrWaitForMoreTextMillisecond('立即翻卡', '看视频翻卡', 3)
            if (flagbw == null) {
                move2Top(1, 300, '自动兑换', '现金收益')
                moveUpHigher2FindWidTxtMore((findView) => { }, '翻卡赢金币', '点击翻卡', () => {
                    return ocrText('金币献爱心', '特别福利', '活动规则', '联系方式')
                })
                flagbw = ocrWaitForMoreTextMillisecond('立即翻卡', '看视频翻卡', 3)
            }
            agentOrHidClickAbsoultX(flagbw, screen.percentToWidth(0.5))

            var isCanBreak = false
            for (let i = 0; i < 6; i++) {
                var successFlag = ocrWaitForMoreTextMillisecond('开心收下', 4)
                if (successFlag || isCanBreak) {
                    setExcuteFuncInTime一段时间内不再执行('open_翻卡赢金币_FQMFXS', 30 * 60)
                    agentOrHidClick(successFlag)
                    break
                }

                log(`看第${i + 1}个视频翻`)
                flag = ocrWaitForText('收下当前', '当前奖励')
                if (flag) {
                    agentOrHidClickOffectY(flag, 150)
                    watchGG_简单模式(flag, true)
                } else {
                    flag = ocrWaitForText('看1个视频翻', '看视频继续翻十位', '个视频翻', '翻百位', '翻千位')
                    watchGG_简单模式(flag)
                }

                skip_任务中心的弹窗_FQMFXS()
                flagbw = ocrWaitForMoreTextMillisecond('立即翻卡', '看视频翻卡', 3)
                if (flagbw == null) {
                    move2Top(1, 300, '自动兑换', '现金收益')
                    moveUpHigher2FindWidTxtMore((findView) => {
                        if (isInNearBy(findView, '稍后再', '后再领', '继续开启', '下一轮')) {
                            log('已领取30分钟后再来')
                            setExcuteFuncInTime一段时间内不再执行('open_翻卡赢金币_FQMFXS', 30 * 60)
                            isCanBreak = true
                        }
                    }, '翻卡赢金币', '点击翻卡', () => {

                        return ocrText('金币献爱心', '特别福利', '活动规则', '联系方式')
                    })
                    flagbw = ocrWaitForMoreTextMillisecond('立即翻卡', '看视频翻卡', '翻卡赢金币', '点击翻卡', 3)
                }
                agentOrHidClickAbsoultX(flagbw, screen.percentToWidth(0.5))
            }
            // flag = ocrWaitForText('看1个视频翻', '看视频继续翻百位', '继续翻百位', '看视频继续翻千位', '个视频翻')
            // if (flag) {
            //     // 翻百位
            //     watchGG_简单模式(flag)
            //     skip_任务中心的弹窗_FQMFXS()
            //     flagbw = ocrWaitForMoreTextMillisecond('立即翻卡', '看视频翻卡', 3)
            //     if (flagbw == null) {
            //         move2Top(1, 300, '自动兑换', '现金收益')
            //         moveUpHigher2FindWidTxtMore((findView) => { }, '翻卡赢金币', '点击翻卡', () => {
            //             return ocrText('金币献爱心', '特别福利', '活动规则', '联系方式')
            //         })
            //         flagbw = ocrWaitForMoreTextMillisecond('立即翻卡', '看视频翻卡', 3)
            //     }
            //     agentOrHidClickAbsoultX(flagbw, screen.percentToWidth(0.5))
            // }


            // flag = ocrWaitForText('看1个视频翻', '看2个视频翻', '看视频继续翻千位', '继续翻千位', '个视频翻', '位卡')
            // if (flag) {
            //     // 翻前位
            //     // ocrTextTrue('看视频继续千位')
            //     watchGG_简单模式(flag)
            //     skip_任务中心的弹窗_FQMFXS()
            //     flagbw = ocrWaitForMoreTextMillisecond('立即翻卡', '看视频翻卡', 3)
            //     if (flagbw == null) {
            //         move2Top(1, 300, '自动兑换', '现金收益')
            //         moveUpHigher2FindWidTxtMore((findView) => { }, '翻卡赢金币', '点击翻卡', () => {
            //             return ocrText('金币献爱心', '特别福利', '活动规则', '联系方式')
            //         })
            //         flagbw = ocrWaitForMoreTextMillisecond('立即翻卡', '看视频翻卡', 3)
            //     }
            //     agentOrHidClickAbsoultX(flagbw, screen.percentToWidth(0.5))
            // }

            // // ocrTextTrue('看视频')

            // var successFlag = ocrWaitForMoreTextMillisecond('开心收下')
            // if (!successFlag) {
            //     watchGG_简单模式(ocrWaitForText('看1个视频翻', '看2个视频翻', '看3个视频翻', '看4个视频翻', '个视频翻', '看视频继续翻', '频继续翻'))
            //     agentOrHidClickAbsoultX(ocrWaitForMoreTextMillisecond('立即翻卡', '看视频翻卡'), screen.percentToWidth(0.5))
            //     successFlag = ocrWaitForMoreTextMillisecond('开心收下')
            // }

            // agentOrHidClick(successFlag)

            // var flag = ocrWaitForMoreTextMillisecondInRegion(0.25, 0.5, 0.78, 0.8, 4, '看视频翻倍')
            // // if (getDectNumber(flag) < 2000 && getDectNumber(flag) > 0) {
            // //     addExcuteFuncTimes('open_翻卡赢金币_FQMFXS')
            // //     if (getExcuteFuncTimes('open_翻卡赢金币_FQMFXS') > 2) {
            // //         setExcuteFunc('金币红包雨')
            // //     }
            // // }

            // if (flag) {
            //     watchGG_多次看广告(flag)
            // } else {
            //     agentOrHidClick(ocrText('直接领取'))
            // }


        } else {
            if (ocrText('明日再来翻卡')) {
                setExcuteFunc('open_翻卡赢金币_FQMFXS')
            }
        }

    }, '翻卡赢金币', '点击翻卡', () => {
        return ocrText('金币献爱心', '特别福利', '活动规则', '联系方式')
    })

}


function open_金币红包雨_FQMFXS() {
    printinfoOld('open_金币红包雨_FQMFXS')

    if (hasExcuteFunc('open_金币红包雨_FQMFXS')) {
        return
    }
    if (!isEnableSwitch('fq_hby')) {
        logSleep('屏蔽金币红包雨')
        return
    }

    if (isEnableSwitch('fqxs_error_mode')) {
        log('番茄异常模式')
        return
    }
    // if (!isEnableSwitch('fqmfxs_hby')) {
    //     return
    // }

    if (hasExcuteFuncInTime是否在一段时间内执行过('open_金币红包雨_FQMFXS')) {
        return
    }

    skip_任务中心的弹窗_FQMFXS()

    move2Top(4, 300, '自动兑换', '现金收益')
    moveUp2FindWidTxtMore((findView) => {
        if (!ocrText('开启下一场', '稍后再领', '下一场') || ocrText('00:00:00')) {
            // watchGG_多次看广告(findView)
            agentOrHidClick(findView, 5)
            addExcuteFuncTimes('open_金币红包雨_FQMFXS')
            //找图返回目标数组
            for (var i = 0; i < 20; i++) {
                click(0.5, 0.5, 0)
                sleep.millisecond(500)
            }


            var flag = ocrWaitForMoreTextMillisecondInRegion(0, 0.4, 1, 0.85, 30, '看视频翻倍领取', '翻倍领取', '看视频翻', '倍领取')

            var flag定位 = ocrTextMoreComplete('看视频翻倍')
            if (flag定位) {
                var reactkgg = flag定位.getRect()
                var max金币 = getMaxNumber(ocrGetAllStrInRegion(screen.widthToPercent(reactkgg.getLeft() - 350),
                    screen.heightToPercent(reactkgg.getTop() - 200),
                    reactkgg.getRight() + 60,
                    screen.heightToPercent(reactkgg.getTop())))

                if (max金币 >= 1500) {
                    if (flag) {
                        watchGG_番茄小说独享(flag)
                    }
                }
                if (max金币 > 0 && max金币 < 1000) {
                    addExcuteFuncTimes('mqxs_hby_low')
                    if (getExcuteFuncTimes('mqxs_hby_low') >= 3) {
                        setExcuteFunc('open_金币红包雨_FQMFXS')
                    }
                }
            } else {
                if (flag) {
                    watchGG_番茄小说独享(flag)
                }
            }

            var detectsback = opencv.findImagesEx('图色431296.cv');
            if (detectsback != null) {
                agentOrHidClick(detectsback[0])
            }

            skip_任务中心的弹窗_FQMFXS()

            setExcuteFuncInTime一段时间内不再执行('open_金币红包雨_FQMFXS', 21 * 60)
            agentOrHidClick(ocrText('返回福利', '返回'))
        }

    }, '金币红包雨', '一大波红包来')

    if (ocrText('你在红包雨中获得')) {
        watchGG_多次看广告(ocrWaitForMoreTextMillisecondInRegion(0, 0.4, 1, 0.85, 30, '看视频翻倍', '看视频翻'))
        agentOrHidClick(ocrText('直接领取'))
    }

}


function start_单次收集宝箱金币_FQMFXS() {

    currentAppPackName = PACK_NAME_FQMFXS
    // closeApp(PACK_NAME_FQMFXS)

    start_app_FQMFXS()

    enter_任务中心_FQMFXS()

    for (let i = 0; i < 100; i++) {
        open_开宝箱_FQMFXS()
    }

    stopAllApp()
}



function start_收集金币_FQMFXS() {
    if (isEnableSwitch('fqxs_bsj')) {
        return
    }

    currentAppPackName = PACK_NAME_FQMFXS
    // closeApp(PACK_NAME_FQMFXS)

    if (!start_app_FQMFXS()) {
        return
    }


    startThredTaskMaxTime超时结束(() => {
        enter_任务中心_FQMFXS()

        open_签到_FQMFXS()

        open_翻卡赢金币_FQMFXS()

        go_刷视频_FQMFXS()

        go_浏览商品_FQMFXS()

        open_预约_FQMFXS()

        open_金币红包雨_FQMFXS()

        if (hasExcuteFunc('go_刷视频_FQMFXS')) {
            log('刷视频任务已完成才允许开宝箱与看视频')
            watch_看广告_FQMFXS()

            open_开宝箱_FQMFXS()
        }

        // open_阅读赚金币_FQMFXS()

        // open_听书赚金币_FQMFXS()

        // start_去看剧_FQMFXS()
    }, 30 * 60)

    start_新人去看剧_FQMFXS()

    stopAllApp()
}


